<?php


class CamisetasJugadoresValidator extends sfValidatorBase
{
	
	protected function configure($options = array(), $messages = array()) {
		$this->addOption('jugadores');
		$this->addOption('jugadores_no_fichados');
		
		$this->min = 5;
	}	
	
	protected function doClean($value)
	{

		$repetida = false;
		$jugadores = $value[$this->getOption('jugadores')];
		$j_no_fichado = $value[$this->getOption('jugadores_no_fichados')];
				
		for($i=0; ($i < count($j_no_fichado)-1)&&(!$repetida); $i++)
		{
			$camiseta = $j_no_fichado[$i]['numero_de_camiseta'];
			if ($camiseta == "") 
				continue;
			$repetida = false;
			if ($jugadores){
			foreach($jugadores as $jugador):
					if ($jugador['numero_de_camiseta'] == $camiseta){
						$repetida = true;
						break;
					}
			endforeach;
			}
			for($j=$i+1; ($j < count($j_no_fichado)-1 && (!$repetida)); $j++)
			{	
				if ($j_no_fichado[$j]['numero_de_camiseta'] == $camiseta)
				{
						$repetida = true;
						break;
				}
			}
		}


		if ($repetida)
		{
				//$this->messages = array('invalid' => 'Deben jugar mas jugadores'); 
				throw new sfValidatorError($this, 'invalid', array('value' => $value));
		}

		return $value;
	}

}
?>